# 作业一：
# 为了统计学生人数，可以给Student类增加一个类属性，每创建一个实例，该属性自动增加：
# class Student(object):
# count = 0
# def __init__(self, name):
# self.name = name
# 所以类需要得到的信息是这个类的；
# 1、类名是什么（Student）
# 2、这个类在初始化需要什么样的属性（name\count)
# 3、它有什么样的功能（收集学生姓名、统计学生数量）

# class Student(object):
#     count = []
#     def __init__(self,name):
#         self.name = name
#         self.count = []
#
#     def count_stu(self):
#         print('current students:%s, and %d in total'.format(count, len(count)))

# # 创建一个学生类
# class Student(object):
#     #类属性直接定义在类中
#     count = 0
#     def __init__(self,name):
#         # 实例【对象】属性定义在构造函数中
#         self.name = name
#         # 每次创建一个对象，类属性的count+1
#         Student.count += 1
#
# # 查看类属性
# # print(Student.count)
#
# # 创建实例【对象】
# xm = Student('小明')
# xm = Student('h')
# xm = Student('sa')
# xm = Student('ddf')
# xm = Student('ff')
# xm = Student('小明')
# # 通过创建的对象来访问对象属性
# print(xm.name)
#
# # 创建一个对象之后，再次查看类属性
# print(Student.count)



class Student(object):
    #类属性直接定义在类中
    count = 0
    name = []

    def __init__(self,name):
        # 实例【对象】属性定义在构造函数中
        self.name = name
        # 每次创建一个对象，类属性的count+1
        Student.count += 1

    def get_name(self):
        Student.name.append(self.name)
        return Student.name

xm = Student('小明')
print(xm.get_name())
xm = Student('小红')
print(xm.get_name())
xm = Student('小绿')
print(xm.get_name())
xm = Student('小陈')
print(xm.get_name())
print(Student.name)
print(Student.count)